package tec;

public abstract class TestPassagerAbstrait{
	protected int nbTest = 0;
	protected String type_s;
	
	abstract protected PassagerAbstrait creerPassager(String nom, int destination);
	
	public void lancer() throws TecInvalidException {
		System.out.println("Test de Passager"+type_s+" :");
	
		System.out.print("."); nbTest++;
		testConsAss();
		System.out.print("."); nbTest++;
		testAcceptAssise();
		System.out.print("."); nbTest++;
		testAcceptDebout();
		System.out.print("."); nbTest++;
		testAcceptSortie();
		System.out.print("A");
	}

	private void testConsAss() {
		PassagerAbstrait test1 = creerPassager("Testeur", 5);
		assert test1.estDebout() == false;
		assert test1.estDehors() == true;
		assert test1.estAssis() == false;
	}
	
	
	private void testAcceptAssise() {
		PassagerAbstrait test1 = creerPassager("Testeur", 5);
		test1.accepterPlaceAssise();
		assert test1.estDebout() == false;
		assert test1.estDehors() == false;
		assert test1.estAssis() == true;
	}
	
	private void testAcceptDebout() {
		PassagerAbstrait test1 = creerPassager("Testeur", 5);
		test1.accepterPlaceDebout();
		assert test1.estDebout() == true;
		assert test1.estDehors() == false;
		assert test1.estAssis() == false;
	}
	
	private void testAcceptSortie() {
		PassagerAbstrait test1 = creerPassager("Testeur", 5);
		test1.accepterPlaceDebout();
		test1.accepterSortie();
		assert test1.estDebout() == false;
		assert test1.estDehors() == true;
		assert test1.estAssis() == false;
	}
	
	
}
